package modelimplementation

import "time"

type BiweeklySchedule struct {
}

func (bs *BiweeklySchedule) IsPaydate(payDate time.Time) bool {
	firstPayableFriday := time.Date(2001, 11, 9, 0, 0, 0, 0, time.Local)
	ts := payDate.Sub(firstPayableFriday)
	daysSinceFirstPayableFriday := (int(ts.Hours()) / 24)

	return (daysSinceFirstPayableFriday % 14) == 0
}

func (bs *BiweeklySchedule) GetPayPeriodStartDate(payPeriodEndDate time.Time) time.Time {
	return payPeriodEndDate.AddDate(0, 0, -13)
}
